package com.wolves.career.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.wolves.career.entity.UserPermissionsAccount;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wolves.career.entity.vo.QueryPermissionsAccount;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 麦翔盛
 * @since 2021-10-19
 */
public interface UserPermissionsAccountService extends IService<UserPermissionsAccount> {
    /**
     * 返回用户查询对象（封装信息）
     * @param queryPermissionsAccount
     * @return
     */
   public QueryWrapper<UserPermissionsAccount>
   getPermissionsAccountQueryWrapper(QueryPermissionsAccount queryPermissionsAccount);

    /**
     * 根据账号id判断该用户是否是维护人员
     * @param accountId
     * @return
     */
   public Boolean isMaintenancePersonnel(String accountId);

    /**
     * 更新密码
     * @param accountId 账户id
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     * @return
     */
    public boolean updatePassword(String accountId, String oldPassword, String newPassword);

    /**
     * 判断用户名和密码是否正确
     * @param accountId
     * @param password
     * @return
     */
    public boolean exist(String accountId, String password);

    /**
     * 修改用户名
     * @param accountId 用户id
     * @param newUsername 新用户名
     * @return
     */
    public boolean updateUsername(String accountId, String newUsername);

    /**
     * 根据账户id更改电话号码
     * @param accountId
     * @param newTelephone
     * @return
     */
    boolean updateTelephone(String accountId, Integer newTelephone);

    QueryWrapper<UserPermissionsAccount> getUserQuery(UserPermissionsAccount user);
}
